package com.jic.product.model.vo.request;

import java.util.Date;
import java.math.BigDecimal;
import com.jic.product.entity.vo.request.base.BaseEntityRequest;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@NoArgsConstructor
@ApiModel(description = " 商品表实体类")
public class MProductRequest extends BaseEntityRequest {
	private static final long serialVersionUID = 1L;

    @ApiModelProperty(notes = "商家商品id")
    private Long id;


    @ApiModelProperty(notes = "商品编码")
    private String code;


    @ApiModelProperty(notes = "体积(cm^3)")
    private BigDecimal productVolume;


    @ApiModelProperty(notes = "保质期天数")
    private Integer shelflifeDays;


    @ApiModelProperty(notes = "包退天数")
    private Integer returnDays;


    @ApiModelProperty(notes = "第三方商品编码")
    private String thirdProductCode;


    @ApiModelProperty(notes = "英文名称")
    private String englishName;


    @ApiModelProperty(notes = "1-普通商品;2-系列子品3.sku商品")
    private Integer typeOfProduct;


    @ApiModelProperty(notes = "系列虚品的Id")
    private Long parentId;


    @ApiModelProperty(notes = "商品毛重(g)")
    private BigDecimal grossWeight;


    @ApiModelProperty(notes = " 副标题(商家自定义名称)")
    private String subtitle;


    @ApiModelProperty(notes = "货号")
    private String artNo;


    @ApiModelProperty(notes = "包换天数")
    private Integer replacementDays;


    @ApiModelProperty(notes = "商品最大净重(g)")
    private BigDecimal netWeight;


    @ApiModelProperty(notes = "商品最小净重(g)")
    private BigDecimal netWeightStart;


    @ApiModelProperty(notes = "备注")
    private String remark;


    @ApiModelProperty(notes = "长度(cm)")
    private BigDecimal productLength;


    @ApiModelProperty(notes = "运费模板id")
    private Long freightTemplateId;


    @ApiModelProperty(notes = "高度(cm)")
    private Double productHeight;


    @ApiModelProperty(notes = "商品类型:1-常规商品;2卡券、3海购、4赠品、10实体卡、11虚拟卡、20券、 5生鲜产品、6增值服务、7其他、21积分商品;31-称重商品;)")
    private Integer type;


    @ApiModelProperty(notes = "商品中文名称")
    private String chineseName;


    @ApiModelProperty(notes = "商品来源类型:1-平台;2-商家;")
    private Integer sourceType;


    @ApiModelProperty(notes = "保修天数")
    private Integer guaranteeDays;


    @ApiModelProperty(notes = "审核状态:0-待提交;1-审核中;2-审核通过;3-审核不通过;4-永久下架;")
    private Integer status;


    @ApiModelProperty(notes = "宽度(cm)")
    private BigDecimal productWidth;


    @ApiModelProperty(notes = "渠道编码")
    private String channelCode;


    @ApiModelProperty(notes = "渠道名称")
    private String channelName;


    @ApiModelProperty(notes = "销售计量单位主键id")
    private Long saleCalcUnitId;


    @ApiModelProperty(notes = "版本号:默认0, 每次更新+1")
    private Integer versionNo;


    @ApiModelProperty(notes = "审核原因")
    private String auditMessage;


    @ApiModelProperty(notes = "类目表外键")
    private Long categoryId;


    @ApiModelProperty(notes = "品牌Id")
    private Long brandId;


    @ApiModelProperty(notes = "上下架状态 0-下架，1-上架")
    private Integer canSale;


    @ApiModelProperty(notes = "商品数据类型:1-运营商品;2-商家商品;3-店铺商品;4、第三方商家商品；")
    private Integer dataType;


    @ApiModelProperty(notes = "商品子形式，1-自建子品，2-聚合子品")
    private Integer subTypeOfProduct;


    @ApiModelProperty(notes = "仓库类型:0-有实体仓;1-无实体仓;")
    private Integer warehouseType;


    @ApiModelProperty(notes = "副标题(二语言)")
    private String subtitleLan2;


    @ApiModelProperty(notes = "价格策略:2-店铺;3-商家;4-运营;")
    private Integer priceLevel;


    @ApiModelProperty(notes = "组合商品类型:0-固定组合;1-可选组合;")
    private Integer combineType;


    @ApiModelProperty(notes = "首次上架时间")
    private Date firstShelfTime;


    @ApiModelProperty(notes = "商品资料引用ID, 如果是门店商品 ref_id =商家商品ID（）")
    private Long refId;


    @ApiModelProperty(notes = "产地")
    private String placeOriginName;


    @ApiModelProperty(notes = "是否支持发票")
    private Integer invoice;


    @ApiModelProperty(notes = "商品条形码")
    private String barCode;


    @ApiModelProperty(notes = "创建人名称")
    private String creatorName;


    @ApiModelProperty(notes = "更新名称")
    private String updaterName;


    @ApiModelProperty(notes = "是否是BOM商品;1-是; 0-否;")
    private Integer bomFlag;


    @ApiModelProperty(notes = "是否是Pill商品;1-是; 0-否;")
    private Integer pillFlag;


    @ApiModelProperty(notes = "生命周期  1 初始期-2培养期-3上升期-4衰退期-5清退期-6屏蔽期")
    private Long lifeCycle;


    @ApiModelProperty(notes = "库存显示 1.基本款库存; 2.校标款库存;")
    private Integer inventoryDisplay;


    @ApiModelProperty(notes = "商品销量")
    private Integer saleNum;


    @ApiModelProperty(notes = "参数JSON")
    private String parameterJson;


    @ApiModelProperty(notes = "商品中心词")
    private String headWord;


    @ApiModelProperty(notes = "搜索热词")
    private String hotWord;


    @ApiModelProperty(notes = "商品文字标签")
    private String textLable;


    @ApiModelProperty(notes = "商家内码")
    private String merchantIsn;


    @ApiModelProperty(notes = "是否强制发票0不强制1强制")
    private Integer forceInvoice;


    @ApiModelProperty(notes = "关于发票说明")
    private String explainInvoice;


    @ApiModelProperty(notes = "否是允许分享0允许1不允许")
    private Integer share;


    @ApiModelProperty(notes = "隐藏供应商名称0隐藏1不隐藏")
    private Integer hideSupplier;


    @ApiModelProperty(notes = "返回首页浮标0不隐藏1隐藏")
    private Integer hideBuoy;


    @ApiModelProperty(notes = "是否支持退换货0不支持1不支持")
    private Integer retreatChange;


    @ApiModelProperty(notes = "是否行内自提0不支持1支持")
    private Integer selfRaising;


    @ApiModelProperty(notes = "特权表示0无1会员特权商品")
    private Integer privilege;


    @ApiModelProperty(notes = "下单超时失效时间")
    private Date invalidTime;


    @ApiModelProperty(notes = "支持支付方式")
    private String payMethod;


    @ApiModelProperty(notes = "购买方式")
    private String purchaseMethod;

    @ApiModelProperty(notes = "协议上浮比例")
    private BigDecimal agreementOnFloatingAtio;

    @ApiModelProperty(notes = "微众价")
    private BigDecimal marketPrice;

    @ApiModelProperty(notes = "积分价")
    private BigDecimal integralNum;


}
